/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package es.overtime.sqltools.ui;

import es.overtime.sqltools.db.ConexionHSQLDB;
import es.overtime.sqltools.singleton.ConfigSingleton;

/**
 *
 * @author pbarrach
 */
public class SQLToolsLoader {       
    
    public boolean init(){
        
        // Ejecuta los comandos de creación de la base de datos
        if (!crearBBDD()) return false;
        
        return true;
    }
    
    /**
     * Crea la base de datos por defecto para la configuración de la aplicaicón
     */
    private boolean crearBBDD(){                             
        
        try {
            ConexionHSQLDB conexion = new ConexionHSQLDB();             
                     
            if (!conexion.existeTabla("Config")) {
                conexion.updateSQL("CREATE CACHED TABLE Config (apariencia varchar(50))");
                conexion.updateSQL("INSERT INTO Config (apariencia) VALUES ('com.sun.java.swing.plaf.windows.WindowsLookAndFeel')");
            }
            if (!conexion.existeTabla("Conexion")) conexion.updateSQL("CREATE CACHED TABLE Conexion (idConexion int GENERATED BY DEFAULT AS IDENTITY, nombre varchar(50), server varchar(50) ,database varchar(50), port int, username varchar(50), password varchar(50), CONSTRAINT PK_IDCONEXION PRIMARY KEY(idConexion))");
                        
            conexion.CerrarConexion();
            
            return true;
        } catch (Exception ex){
            return false;
        }      
    }
    
    
}
